Dieses Packet enthält Klassen zur Berechnung der Fehler Ist-Soll-Werte eines Netzes und damit der Netzperformanz.
Es stehen vier Haupt-Fehlertypen zur Verfügung, die Abgerufen werden können:
  • average sum of absolute errors (avg. ABSE): Durchschnitt der Summe aller absoluten Fehlerbeträge berechnet als:
    Durchschnitt der absoluten Summen aller Lerndatensätze = 0
    Für alle Lerndatensätze
      Summe Absoluter Fehler aktueller Lerndatensatz = 0
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Absoluter Fehler aktuelles Neuron = 
          Math.abs(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron)
    
        // Summe der Fehler für einen Lerndatensatz
        Summe Absoluter Fehler aktueller Lerndatensatz +=
          absoluter Fehler aktuelles Neuron;
      
      Durchschnitt der absoluten Summen aller Lerndatensätze += 
        Summe Absoluter Fehler aktueller Lerndatensatz
    
    Durchschnitt der absoluten Summen aller Lerndatensätze /= 
      Anzahl Lerndatensätze
    
  • average sum of squared errors (avg. SSE): Durchschnitt der Fehlerquadratsummen aller Lerndatensätze berechnet als:
    Durchschnitt der quadratischen Fehler aller Lerndatensätze = 0
    Für alle Lerndatensätze
      Summe der quadratischen Fehler aktueller Lerndatensatz = 0
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Quadratischer Fehler aktuelles Neuron = 
          Math.pow(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron, 2.0);
    
        // Summe der Fehler für einen Lerndatensatz
        Summe der quadratischen Fehler aktueller Lerndatensatz +=
          Quadratischer Fehler aktuelles Neuron;
      
      Durchschnitt der quadratischen Fehler aller Lerndatensätze += 
        Summe der quadratischen Fehler aktueller Lerndatensatz
    
    Durchschnitt der quadratischen Fehler aller Lerndatensätze /= 
      Anzahl Lerndatensätze
    
  • average root mean square errors (avg. RMSE): Durchschnitt der Quadratwurzeln der quadratischen Fehler aller Lerndatensätze berechnet als:
    Durchschnitt der Quadratwurzeln der quadratischen Fehler aller Lerndatensätze = 0
    Für alle Lerndatensätze
      Summe der quadratischen Fehler aktueller Lerndatensatz = 0
      Quadratwurzel der quadratischen Fehler aktueller Lerndatensatz = 0
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Quadratischer Fehler aktuelles Neuron = 
          Math.pow(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron, 2.0);
    
        // Summe der Fehler für einen Lerndatensatz
        Summe der quadratischen Fehler aktueller Lerndatensatz +=
          Quadratischer Fehler aktuelles Neuron;
      
      Quadratwurzel der quadratischen Fehler aktueller Lerndatensatz = 
        Math.sqrt(
          Summe der quadratischen Fehler aktueller Lerndatensatz /
          Anzahl der Ausgabeneuronen)
    
    Durchschnitt der Quadratwurzeln der quadratischen Fehler aller Lerndatensätze /= 
      Anzahl Lerndatensätze
    
  • maximum ABSE by a single output neuron (max. neuron ABSE): Maximaler absoluter Fehlerbetrag eines einzelnen Ausgabeneurons. Hiermit kann festgestellt werden, welches Neuron den größten absoluten Fehlerbetrag für ein Lerndatensatz erzeugt. Es wird berechnet als:
    Maximaler absoluter Fehlerbetrag eines Neurons = -1D
    Index des Neurons mit max. Fehlerbetrag = 0
    Index des Lerndatensatzes mit max. Fehlerbetrag = 0;
    Für alle Lerndatensätze
      Für alle Ausgabeneuronen
        // Fehler für ein Neuron und einen Lerndatensatz
        Absoluter Fehler aktuelles Neuron = 
          Math.abs(Soll-Wert aktuelles Neuron - Ist-Wert aktuelles Neuron)
          // Grösster Fehler für ein einzelnes Neuron
          wenn (Absoluter Fehler aktuelles Neuron > 
                Maximaler absoluter Fehlerbetrag eines Neurons)
          dann
            Maximaler absoluter Fehlerbetrag eines Neurons =
              Absoluter Fehler aktuelles Neuron
            Index des Neurons mit max. Fehlerbetrag =
              Index aktuelles Neuron
            Index des Lerndatensatzes mit max. Fehlerbetrag = 
              Index aktueller Lerndatensatz
    
  • Es gibt zwei Klassen, welche die berechneten Fehlerwerte speichern:
    {@link mscJNeuralNet.netPerformanceStatistics.NetPerformanceStatistics} und
    {@link mscJNeuralNet.netPerformanceStatistics.LightWeightNetPerformanceStatistics}

    Die Klasse {@link mscJNeuralNet.netPerformanceStatistics.NetPerformanceStatistics} enthält alle berechneten Zwischenschritte wie Fehlerwerte für einzelne Lerndatensätze oder die Lerndatensätze selbst. Daher hat diese Klasse einen sehr hohen Speicherverbrauch. Daher existiert auch eine "Leichte"-Version dieser Klasse, die nur die Hauptfehlerdaten enthält.

    Die Klasse {@link mscJNeuralNet.netPerformanceStatistics.NetPerformanceStatisticsCalculator} berechnet alle Werte, die in einer der oben genannten Klassen gespeichert werden.

    Die Klasse {@link mscJNeuralNet.netPerformanceStatistics.NetPerformanceReporter} kann aus den berechneten Werten eine Stringrepräsentation in Form eines Berichtes erzeugen.


    mscJNeuralNet

    @author M. Serhat Cinar